\hypertarget{classDoubleLinkedList}{}\doxysection{Double\+Linked\+List$<$ DT $>$ Class Template Reference}
\label{classDoubleLinkedList}\index{DoubleLinkedList$<$ DT $>$@{DoubleLinkedList$<$ DT $>$}}


Double\+Linked\+List的\+DT模板类  




{\ttfamily \#include $<$doublelinkedlist.\+h$>$}

\doxysubsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class \mbox{\hyperlink{classDoubleLinkedList_1_1const__iterator}{const\+\_\+iterator}}
\begin{DoxyCompactList}\small\item\em const\+\_\+iterator类，用于存储一个指向当前节点的迭代器，同时通过运算符重载实现所需的迭代器运算; \end{DoxyCompactList}\item 
class \mbox{\hyperlink{classDoubleLinkedList_1_1iterator}{iterator}}
\begin{DoxyCompactList}\small\item\em 继承了const\+\_\+iterator类，用于实现\+Node指针和const\+\_\+iterator的转换 \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classDoubleLinkedList_aee88179cbec704a72abc4ffedaaae206}\label{classDoubleLinkedList_aee88179cbec704a72abc4ffedaaae206}} 
\mbox{\hyperlink{classDoubleLinkedList_aee88179cbec704a72abc4ffedaaae206}{Double\+Linked\+List}} ()
\begin{DoxyCompactList}\small\item\em 调用链表初始化函数以构造一个未传参数的\+Double\+Linked\+List; \end{DoxyCompactList}\item 
\mbox{\hyperlink{classDoubleLinkedList_a9f6fd6fab778f30041aa6119b67d70db}{Double\+Linked\+List}} (const \mbox{\hyperlink{classDoubleLinkedList}{Double\+Linked\+List}} \&rhs)
\begin{DoxyCompactList}\small\item\em 首先调用链表初始化函数以构造一个未传参数的\+Double\+Linked\+List，然后将传入的\+Double\+Linked\+List对象通过push\+\_\+back函数加在链表末尾; \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classDoubleLinkedList_a941489c5c72cb46a00e24ff1c998b087}\label{classDoubleLinkedList_a941489c5c72cb46a00e24ff1c998b087}} 
\mbox{\hyperlink{classDoubleLinkedList_a941489c5c72cb46a00e24ff1c998b087}{$\sim$\+Double\+Linked\+List}} ()
\begin{DoxyCompactList}\small\item\em 析构函数，释放内存，防止内存泄漏; \end{DoxyCompactList}\item 
\mbox{\hyperlink{classDoubleLinkedList}{Double\+Linked\+List}} \& \mbox{\hyperlink{classDoubleLinkedList_a857b3efd79c7794a99b82bbe65d4f2a9}{operator=}} (const \mbox{\hyperlink{classDoubleLinkedList}{Double\+Linked\+List}} \&rhs)
\begin{DoxyCompactList}\small\item\em 重载=号（赋值），参数是左值\+Double\+Linked\+List，通过调用std\+::swap函数完成; \end{DoxyCompactList}\item 
\mbox{\hyperlink{classDoubleLinkedList_a1a2a7c993e056a3d7e15bd1bf3d38bf2}{Double\+Linked\+List}} (\mbox{\hyperlink{classDoubleLinkedList}{Double\+Linked\+List}} \&\&rhs)
\begin{DoxyCompactList}\small\item\em 以\+Double\+Linked\+List右值为参数的\+Double\+Linked\+List构造函数; \end{DoxyCompactList}\item 
\mbox{\hyperlink{classDoubleLinkedList}{Double\+Linked\+List}} \& \mbox{\hyperlink{classDoubleLinkedList_a134e16aa90f251ec1fe732b8b83a758d}{operator=}} (\mbox{\hyperlink{classDoubleLinkedList}{Double\+Linked\+List}} \&\&rhs)
\begin{DoxyCompactList}\small\item\em 重载=号（赋值），参数是右值\+Double\+Linked\+List，通过调用std\+::swap函数完成; \end{DoxyCompactList}\item 
\mbox{\hyperlink{classDoubleLinkedList_1_1iterator}{iterator}} \mbox{\hyperlink{classDoubleLinkedList_a76384816354f94d8d42e0829c7bda914}{begin}} ()
\begin{DoxyCompactList}\small\item\em begin函数，用于取得链表的开头; \end{DoxyCompactList}\item 
\mbox{\hyperlink{classDoubleLinkedList_1_1const__iterator}{const\+\_\+iterator}} \mbox{\hyperlink{classDoubleLinkedList_abb15c59c5b15dbdecae44e186e7c9b2d}{begin}} () const
\begin{DoxyCompactList}\small\item\em begin函数的重载，用于取得const链表的开头; \end{DoxyCompactList}\item 
\mbox{\hyperlink{classDoubleLinkedList_1_1iterator}{iterator}} \mbox{\hyperlink{classDoubleLinkedList_aa52f0a0dea8b178abf3972cb5c7ba44b}{end}} ()
\begin{DoxyCompactList}\small\item\em end函数，用于取得链表的结尾; \end{DoxyCompactList}\item 
\mbox{\hyperlink{classDoubleLinkedList_1_1const__iterator}{const\+\_\+iterator}} \mbox{\hyperlink{classDoubleLinkedList_a683ec24475d58d896c47b00d9893fb6d}{end}} () const
\begin{DoxyCompactList}\small\item\em end函数的重载，用于取得const链表的结尾; \end{DoxyCompactList}\item 
int \mbox{\hyperlink{classDoubleLinkedList_a896b91eefaa6a0288e31a846382d1d39}{size}} () const
\begin{DoxyCompactList}\small\item\em size函数，用于取得链表的长度; \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{classDoubleLinkedList_a8ebe0a7e9218900f723620eb5359df6c}{empty}} () const
\begin{DoxyCompactList}\small\item\em empty函数，用于判断链表是否被清空; \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classDoubleLinkedList_ae137341cb837578aceed300d50ebe664}\label{classDoubleLinkedList_ae137341cb837578aceed300d50ebe664}} 
void \mbox{\hyperlink{classDoubleLinkedList_ae137341cb837578aceed300d50ebe664}{clear}} ()
\begin{DoxyCompactList}\small\item\em clear函数，用于清空链表; \end{DoxyCompactList}\item 
DT \& \mbox{\hyperlink{classDoubleLinkedList_a321d39c83c64c5a56491cfb6312c3112}{front}} ()
\begin{DoxyCompactList}\small\item\em front函数，用于返回链表开头位置的data值; \end{DoxyCompactList}\item 
const DT \& \mbox{\hyperlink{classDoubleLinkedList_a783cd5151e28aa5396fa7ea79f64835b}{front}} () const
\begin{DoxyCompactList}\small\item\em front函数的重载，用于返回链表开头位置的data值; \end{DoxyCompactList}\item 
DT \& \mbox{\hyperlink{classDoubleLinkedList_a7203970b5e6ab0dadfdc039bc5714dca}{back}} ()
\begin{DoxyCompactList}\small\item\em back函数，用于返回end函数返回的迭代器所指向位置的前一位的data值; \end{DoxyCompactList}\item 
const DT \& \mbox{\hyperlink{classDoubleLinkedList_ae4df7660c6cb44e3176de9e748a8f755}{back}} () const
\begin{DoxyCompactList}\small\item\em back函数的重载，用于返回end函数返回的迭代器所指向位置的前一位的data值; \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classDoubleLinkedList_abc9f1f67bf23ed7ffc31361eaa14d0f6}{push\+\_\+front}} (const DT \&x)
\begin{DoxyCompactList}\small\item\em push\+\_\+front函数，用于在链表开头插入\+DT类型的数据x; \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classDoubleLinkedList_a9d82e154514bdc6379c83df36c86a63b}{push\+\_\+front}} (DT \&\&x)
\begin{DoxyCompactList}\small\item\em push\+\_\+front函数的重载，用于在链表开头插入\+DT类型的右值数据x; \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classDoubleLinkedList_a28c753ec25efce9713e58170bfa9812c}{push\+\_\+back}} (const DT \&x)
\begin{DoxyCompactList}\small\item\em push\+\_\+back函数，用于在链表结尾插入\+DT类型的数据x; \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classDoubleLinkedList_ace9f92386dcd6f2308847ec05acfdcc4}{push\+\_\+back}} (DT \&\&x)
\begin{DoxyCompactList}\small\item\em push\+\_\+back函数的重载，用于在链表结尾插入\+DT类型的右值数据x; \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classDoubleLinkedList_a8526d84e8c9d45422e591056d64dd013}\label{classDoubleLinkedList_a8526d84e8c9d45422e591056d64dd013}} 
void \mbox{\hyperlink{classDoubleLinkedList_a8526d84e8c9d45422e591056d64dd013}{pop\+\_\+front}} ()
\begin{DoxyCompactList}\small\item\em pop\+\_\+front函数，用于除去链表的开头; \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classDoubleLinkedList_a99f2784092ee14196c3b91de6836b93b}\label{classDoubleLinkedList_a99f2784092ee14196c3b91de6836b93b}} 
void \mbox{\hyperlink{classDoubleLinkedList_a99f2784092ee14196c3b91de6836b93b}{pop\+\_\+back}} ()
\begin{DoxyCompactList}\small\item\em pop\+\_\+back函数，用于除去链表的结尾，同时防止segmentation fault; \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classDoubleLinkedList_a500d8b83580e3a67ef1118e6bef7635c}\label{classDoubleLinkedList_a500d8b83580e3a67ef1118e6bef7635c}} 
void \mbox{\hyperlink{classDoubleLinkedList_a500d8b83580e3a67ef1118e6bef7635c}{print\+List}} ()
\begin{DoxyCompactList}\small\item\em print\+List函数，用于在屏幕上打印当前链表的值; \end{DoxyCompactList}\item 
\mbox{\hyperlink{classDoubleLinkedList_1_1iterator}{iterator}} \mbox{\hyperlink{classDoubleLinkedList_a781eabd9902464b05665ba9a5d547035}{insert}} (\mbox{\hyperlink{classDoubleLinkedList_1_1iterator}{iterator}} itr, const DT \&x)
\begin{DoxyCompactList}\small\item\em insert函数，用于在链表中插入新的节点; \end{DoxyCompactList}\item 
\mbox{\hyperlink{classDoubleLinkedList_1_1iterator}{iterator}} \mbox{\hyperlink{classDoubleLinkedList_a3020daa2982b73be237e0b7735342d4c}{insert}} (\mbox{\hyperlink{classDoubleLinkedList_1_1iterator}{iterator}} itr, DT \&\&x)
\begin{DoxyCompactList}\small\item\em insert函数的重载，用于在链表中插入新的节点; \end{DoxyCompactList}\item 
\mbox{\hyperlink{classDoubleLinkedList_1_1iterator}{iterator}} \mbox{\hyperlink{classDoubleLinkedList_a63980ca7417c2816904717c1cc4802cd}{erase}} (\mbox{\hyperlink{classDoubleLinkedList_1_1iterator}{iterator}} itr)
\begin{DoxyCompactList}\small\item\em erase函数，用于抹除链表中(头尾外)存在的节点; \end{DoxyCompactList}\item 
\mbox{\hyperlink{classDoubleLinkedList_1_1iterator}{iterator}} \mbox{\hyperlink{classDoubleLinkedList_acf8915685317c85b100b793123c14aba}{erase}} (\mbox{\hyperlink{classDoubleLinkedList_1_1iterator}{iterator}} from, \mbox{\hyperlink{classDoubleLinkedList_1_1iterator}{iterator}} to)
\begin{DoxyCompactList}\small\item\em erase函数的重载，用于删除一段节点; \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{classDoubleLinkedList_a437f9858ac447a592d3075d30ef12649}{canerase}} (\mbox{\hyperlink{classDoubleLinkedList_1_1iterator}{iterator}} \&itr)
\begin{DoxyCompactList}\small\item\em canerase函数用于判断是否可以对该迭代器进行erase操作; \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
\subsubsection*{template$<$typename DT$>$\newline
class Double\+Linked\+List$<$ DT $>$}

Double\+Linked\+List的\+DT模板类 


\begin{DoxyTemplParams}{Template Parameters}
{\em DT} & Double\+Linked\+List的类型 \\
\hline
\end{DoxyTemplParams}


\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classDoubleLinkedList_a9f6fd6fab778f30041aa6119b67d70db}\label{classDoubleLinkedList_a9f6fd6fab778f30041aa6119b67d70db}} 
\index{DoubleLinkedList$<$ DT $>$@{DoubleLinkedList$<$ DT $>$}!DoubleLinkedList@{DoubleLinkedList}}
\index{DoubleLinkedList@{DoubleLinkedList}!DoubleLinkedList$<$ DT $>$@{DoubleLinkedList$<$ DT $>$}}
\doxysubsubsection{\texorpdfstring{DoubleLinkedList()}{DoubleLinkedList()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename DT $>$ \\
\mbox{\hyperlink{classDoubleLinkedList}{Double\+Linked\+List}}$<$ DT $>$\+::\mbox{\hyperlink{classDoubleLinkedList}{Double\+Linked\+List}} (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classDoubleLinkedList}{Double\+Linked\+List}}$<$ DT $>$ \&}]{rhs }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



首先调用链表初始化函数以构造一个未传参数的\+Double\+Linked\+List，然后将传入的\+Double\+Linked\+List对象通过push\+\_\+back函数加在链表末尾; 


\begin{DoxyParams}{Parameters}
{\em rhs} & 传入的\+Double\+Linked\+List类对象; \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classDoubleLinkedList_a1a2a7c993e056a3d7e15bd1bf3d38bf2}\label{classDoubleLinkedList_a1a2a7c993e056a3d7e15bd1bf3d38bf2}} 
\index{DoubleLinkedList$<$ DT $>$@{DoubleLinkedList$<$ DT $>$}!DoubleLinkedList@{DoubleLinkedList}}
\index{DoubleLinkedList@{DoubleLinkedList}!DoubleLinkedList$<$ DT $>$@{DoubleLinkedList$<$ DT $>$}}
\doxysubsubsection{\texorpdfstring{DoubleLinkedList()}{DoubleLinkedList()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename DT $>$ \\
\mbox{\hyperlink{classDoubleLinkedList}{Double\+Linked\+List}}$<$ DT $>$\+::\mbox{\hyperlink{classDoubleLinkedList}{Double\+Linked\+List}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classDoubleLinkedList}{Double\+Linked\+List}}$<$ DT $>$ \&\&}]{rhs }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



以\+Double\+Linked\+List右值为参数的\+Double\+Linked\+List构造函数; 


\begin{DoxyParams}{Parameters}
{\em rhs} & 传入的\+Double\+Linked\+List右值对象; \\
\hline
\end{DoxyParams}


\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classDoubleLinkedList_a7203970b5e6ab0dadfdc039bc5714dca}\label{classDoubleLinkedList_a7203970b5e6ab0dadfdc039bc5714dca}} 
\index{DoubleLinkedList$<$ DT $>$@{DoubleLinkedList$<$ DT $>$}!back@{back}}
\index{back@{back}!DoubleLinkedList$<$ DT $>$@{DoubleLinkedList$<$ DT $>$}}
\doxysubsubsection{\texorpdfstring{back()}{back()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename DT $>$ \\
DT\& \mbox{\hyperlink{classDoubleLinkedList}{Double\+Linked\+List}}$<$ DT $>$\+::back (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



back函数，用于返回end函数返回的迭代器所指向位置的前一位的data值; 

\begin{DoxyReturn}{Returns}
返回一个\+DT类型的引用，即end函数返回的迭代器所指向位置的前一位的data值; 
\end{DoxyReturn}
\mbox{\Hypertarget{classDoubleLinkedList_ae4df7660c6cb44e3176de9e748a8f755}\label{classDoubleLinkedList_ae4df7660c6cb44e3176de9e748a8f755}} 
\index{DoubleLinkedList$<$ DT $>$@{DoubleLinkedList$<$ DT $>$}!back@{back}}
\index{back@{back}!DoubleLinkedList$<$ DT $>$@{DoubleLinkedList$<$ DT $>$}}
\doxysubsubsection{\texorpdfstring{back()}{back()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename DT $>$ \\
const DT\& \mbox{\hyperlink{classDoubleLinkedList}{Double\+Linked\+List}}$<$ DT $>$\+::back (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



back函数的重载，用于返回end函数返回的迭代器所指向位置的前一位的data值; 

\begin{DoxyReturn}{Returns}
返回一个\+DT类型的引用，即end函数返回的迭代器所指向位置的前一位的data值; 
\end{DoxyReturn}
\mbox{\Hypertarget{classDoubleLinkedList_a76384816354f94d8d42e0829c7bda914}\label{classDoubleLinkedList_a76384816354f94d8d42e0829c7bda914}} 
\index{DoubleLinkedList$<$ DT $>$@{DoubleLinkedList$<$ DT $>$}!begin@{begin}}
\index{begin@{begin}!DoubleLinkedList$<$ DT $>$@{DoubleLinkedList$<$ DT $>$}}
\doxysubsubsection{\texorpdfstring{begin()}{begin()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename DT $>$ \\
\mbox{\hyperlink{classDoubleLinkedList_1_1iterator}{iterator}} \mbox{\hyperlink{classDoubleLinkedList}{Double\+Linked\+List}}$<$ DT $>$\+::begin (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



begin函数，用于取得链表的开头; 

\begin{DoxyReturn}{Returns}
返回代表head-\/$>$next的iterator; 
\end{DoxyReturn}
\mbox{\Hypertarget{classDoubleLinkedList_abb15c59c5b15dbdecae44e186e7c9b2d}\label{classDoubleLinkedList_abb15c59c5b15dbdecae44e186e7c9b2d}} 
\index{DoubleLinkedList$<$ DT $>$@{DoubleLinkedList$<$ DT $>$}!begin@{begin}}
\index{begin@{begin}!DoubleLinkedList$<$ DT $>$@{DoubleLinkedList$<$ DT $>$}}
\doxysubsubsection{\texorpdfstring{begin()}{begin()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename DT $>$ \\
\mbox{\hyperlink{classDoubleLinkedList_1_1const__iterator}{const\+\_\+iterator}} \mbox{\hyperlink{classDoubleLinkedList}{Double\+Linked\+List}}$<$ DT $>$\+::begin (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



begin函数的重载，用于取得const链表的开头; 

\begin{DoxyReturn}{Returns}
返回代表head-\/$>$next的const\+\_\+iterator; 
\end{DoxyReturn}
\mbox{\Hypertarget{classDoubleLinkedList_a437f9858ac447a592d3075d30ef12649}\label{classDoubleLinkedList_a437f9858ac447a592d3075d30ef12649}} 
\index{DoubleLinkedList$<$ DT $>$@{DoubleLinkedList$<$ DT $>$}!canerase@{canerase}}
\index{canerase@{canerase}!DoubleLinkedList$<$ DT $>$@{DoubleLinkedList$<$ DT $>$}}
\doxysubsubsection{\texorpdfstring{canerase()}{canerase()}}
{\footnotesize\ttfamily template$<$typename DT $>$ \\
bool \mbox{\hyperlink{classDoubleLinkedList}{Double\+Linked\+List}}$<$ DT $>$\+::canerase (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classDoubleLinkedList_1_1iterator}{iterator}} \&}]{itr }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



canerase函数用于判断是否可以对该迭代器进行erase操作; 


\begin{DoxyParams}{Parameters}
{\em itr} & 传入的迭代器引用; \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
bool型变量表示是否可以进行erase; 
\end{DoxyReturn}
\mbox{\Hypertarget{classDoubleLinkedList_a8ebe0a7e9218900f723620eb5359df6c}\label{classDoubleLinkedList_a8ebe0a7e9218900f723620eb5359df6c}} 
\index{DoubleLinkedList$<$ DT $>$@{DoubleLinkedList$<$ DT $>$}!empty@{empty}}
\index{empty@{empty}!DoubleLinkedList$<$ DT $>$@{DoubleLinkedList$<$ DT $>$}}
\doxysubsubsection{\texorpdfstring{empty()}{empty()}}
{\footnotesize\ttfamily template$<$typename DT $>$ \\
bool \mbox{\hyperlink{classDoubleLinkedList}{Double\+Linked\+List}}$<$ DT $>$\+::empty (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



empty函数，用于判断链表是否被清空; 

\begin{DoxyReturn}{Returns}
返回链表是否被清空，若是则返回true; 
\end{DoxyReturn}
\mbox{\Hypertarget{classDoubleLinkedList_aa52f0a0dea8b178abf3972cb5c7ba44b}\label{classDoubleLinkedList_aa52f0a0dea8b178abf3972cb5c7ba44b}} 
\index{DoubleLinkedList$<$ DT $>$@{DoubleLinkedList$<$ DT $>$}!end@{end}}
\index{end@{end}!DoubleLinkedList$<$ DT $>$@{DoubleLinkedList$<$ DT $>$}}
\doxysubsubsection{\texorpdfstring{end()}{end()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename DT $>$ \\
\mbox{\hyperlink{classDoubleLinkedList_1_1iterator}{iterator}} \mbox{\hyperlink{classDoubleLinkedList}{Double\+Linked\+List}}$<$ DT $>$\+::end (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



end函数，用于取得链表的结尾; 

\begin{DoxyReturn}{Returns}
返回代表tail的iterator; 
\end{DoxyReturn}
\mbox{\Hypertarget{classDoubleLinkedList_a683ec24475d58d896c47b00d9893fb6d}\label{classDoubleLinkedList_a683ec24475d58d896c47b00d9893fb6d}} 
\index{DoubleLinkedList$<$ DT $>$@{DoubleLinkedList$<$ DT $>$}!end@{end}}
\index{end@{end}!DoubleLinkedList$<$ DT $>$@{DoubleLinkedList$<$ DT $>$}}
\doxysubsubsection{\texorpdfstring{end()}{end()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename DT $>$ \\
\mbox{\hyperlink{classDoubleLinkedList_1_1const__iterator}{const\+\_\+iterator}} \mbox{\hyperlink{classDoubleLinkedList}{Double\+Linked\+List}}$<$ DT $>$\+::end (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



end函数的重载，用于取得const链表的结尾; 

\begin{DoxyReturn}{Returns}
返回代表tail的const\+\_\+iterator; 
\end{DoxyReturn}
\mbox{\Hypertarget{classDoubleLinkedList_acf8915685317c85b100b793123c14aba}\label{classDoubleLinkedList_acf8915685317c85b100b793123c14aba}} 
\index{DoubleLinkedList$<$ DT $>$@{DoubleLinkedList$<$ DT $>$}!erase@{erase}}
\index{erase@{erase}!DoubleLinkedList$<$ DT $>$@{DoubleLinkedList$<$ DT $>$}}
\doxysubsubsection{\texorpdfstring{erase()}{erase()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename DT $>$ \\
\mbox{\hyperlink{classDoubleLinkedList_1_1iterator}{iterator}} \mbox{\hyperlink{classDoubleLinkedList}{Double\+Linked\+List}}$<$ DT $>$\+::erase (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classDoubleLinkedList_1_1iterator}{iterator}}}]{from,  }\item[{\mbox{\hyperlink{classDoubleLinkedList_1_1iterator}{iterator}}}]{to }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



erase函数的重载，用于删除一段节点; 


\begin{DoxyParams}{Parameters}
{\em from} & 传入的迭代器参数，确定删除开始的位置; \\
\hline
{\em to} & 传入的迭代器参数，确定删除结束的位置; \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
返回删除完毕后的迭代器; 
\end{DoxyReturn}
\mbox{\Hypertarget{classDoubleLinkedList_a63980ca7417c2816904717c1cc4802cd}\label{classDoubleLinkedList_a63980ca7417c2816904717c1cc4802cd}} 
\index{DoubleLinkedList$<$ DT $>$@{DoubleLinkedList$<$ DT $>$}!erase@{erase}}
\index{erase@{erase}!DoubleLinkedList$<$ DT $>$@{DoubleLinkedList$<$ DT $>$}}
\doxysubsubsection{\texorpdfstring{erase()}{erase()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename DT $>$ \\
\mbox{\hyperlink{classDoubleLinkedList_1_1iterator}{iterator}} \mbox{\hyperlink{classDoubleLinkedList}{Double\+Linked\+List}}$<$ DT $>$\+::erase (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classDoubleLinkedList_1_1iterator}{iterator}}}]{itr }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



erase函数，用于抹除链表中(头尾外)存在的节点; 


\begin{DoxyParams}{Parameters}
{\em itr} & 传入的迭代器参数，用于确定删除的位置; \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
返回删除完毕后的迭代器; 
\end{DoxyReturn}
\mbox{\Hypertarget{classDoubleLinkedList_a321d39c83c64c5a56491cfb6312c3112}\label{classDoubleLinkedList_a321d39c83c64c5a56491cfb6312c3112}} 
\index{DoubleLinkedList$<$ DT $>$@{DoubleLinkedList$<$ DT $>$}!front@{front}}
\index{front@{front}!DoubleLinkedList$<$ DT $>$@{DoubleLinkedList$<$ DT $>$}}
\doxysubsubsection{\texorpdfstring{front()}{front()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename DT $>$ \\
DT\& \mbox{\hyperlink{classDoubleLinkedList}{Double\+Linked\+List}}$<$ DT $>$\+::front (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



front函数，用于返回链表开头位置的data值; 

\begin{DoxyReturn}{Returns}
返回一个\+DT类型的引用，即链表开头位置的data值; 
\end{DoxyReturn}
\mbox{\Hypertarget{classDoubleLinkedList_a783cd5151e28aa5396fa7ea79f64835b}\label{classDoubleLinkedList_a783cd5151e28aa5396fa7ea79f64835b}} 
\index{DoubleLinkedList$<$ DT $>$@{DoubleLinkedList$<$ DT $>$}!front@{front}}
\index{front@{front}!DoubleLinkedList$<$ DT $>$@{DoubleLinkedList$<$ DT $>$}}
\doxysubsubsection{\texorpdfstring{front()}{front()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename DT $>$ \\
const DT\& \mbox{\hyperlink{classDoubleLinkedList}{Double\+Linked\+List}}$<$ DT $>$\+::front (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



front函数的重载，用于返回链表开头位置的data值; 

\begin{DoxyReturn}{Returns}
返回一个const DT类型的引用，即链表开头位置的data值; 
\end{DoxyReturn}
\mbox{\Hypertarget{classDoubleLinkedList_a781eabd9902464b05665ba9a5d547035}\label{classDoubleLinkedList_a781eabd9902464b05665ba9a5d547035}} 
\index{DoubleLinkedList$<$ DT $>$@{DoubleLinkedList$<$ DT $>$}!insert@{insert}}
\index{insert@{insert}!DoubleLinkedList$<$ DT $>$@{DoubleLinkedList$<$ DT $>$}}
\doxysubsubsection{\texorpdfstring{insert()}{insert()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename DT $>$ \\
\mbox{\hyperlink{classDoubleLinkedList_1_1iterator}{iterator}} \mbox{\hyperlink{classDoubleLinkedList}{Double\+Linked\+List}}$<$ DT $>$\+::insert (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classDoubleLinkedList_1_1iterator}{iterator}}}]{itr,  }\item[{const DT \&}]{x }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



insert函数，用于在链表中插入新的节点; 


\begin{DoxyParams}{Parameters}
{\em itr} & 传入的迭代器参数，用于确定插入的位置; \\
\hline
{\em x} & 插入的数据x; \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
返回插入完毕后的迭代器; 
\end{DoxyReturn}
\mbox{\Hypertarget{classDoubleLinkedList_a3020daa2982b73be237e0b7735342d4c}\label{classDoubleLinkedList_a3020daa2982b73be237e0b7735342d4c}} 
\index{DoubleLinkedList$<$ DT $>$@{DoubleLinkedList$<$ DT $>$}!insert@{insert}}
\index{insert@{insert}!DoubleLinkedList$<$ DT $>$@{DoubleLinkedList$<$ DT $>$}}
\doxysubsubsection{\texorpdfstring{insert()}{insert()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename DT $>$ \\
\mbox{\hyperlink{classDoubleLinkedList_1_1iterator}{iterator}} \mbox{\hyperlink{classDoubleLinkedList}{Double\+Linked\+List}}$<$ DT $>$\+::insert (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classDoubleLinkedList_1_1iterator}{iterator}}}]{itr,  }\item[{DT \&\&}]{x }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



insert函数的重载，用于在链表中插入新的节点; 


\begin{DoxyParams}{Parameters}
{\em itr} & 传入的迭代器参数，用于确定插入的位置; \\
\hline
{\em x} & 插入的右值数据x; \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
返回插入完毕后的迭代器; 
\end{DoxyReturn}
\mbox{\Hypertarget{classDoubleLinkedList_a857b3efd79c7794a99b82bbe65d4f2a9}\label{classDoubleLinkedList_a857b3efd79c7794a99b82bbe65d4f2a9}} 
\index{DoubleLinkedList$<$ DT $>$@{DoubleLinkedList$<$ DT $>$}!operator=@{operator=}}
\index{operator=@{operator=}!DoubleLinkedList$<$ DT $>$@{DoubleLinkedList$<$ DT $>$}}
\doxysubsubsection{\texorpdfstring{operator=()}{operator=()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename DT $>$ \\
\mbox{\hyperlink{classDoubleLinkedList}{Double\+Linked\+List}}\& \mbox{\hyperlink{classDoubleLinkedList}{Double\+Linked\+List}}$<$ DT $>$\+::operator= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classDoubleLinkedList}{Double\+Linked\+List}}$<$ DT $>$ \&}]{rhs }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



重载=号（赋值），参数是左值\+Double\+Linked\+List，通过调用std\+::swap函数完成; 


\begin{DoxyParams}{Parameters}
{\em rhs} & 传入的\+Double\+Linked\+List类对象; \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
指针this指向的\+Double\+Linked\+List对象; 
\end{DoxyReturn}
\mbox{\Hypertarget{classDoubleLinkedList_a134e16aa90f251ec1fe732b8b83a758d}\label{classDoubleLinkedList_a134e16aa90f251ec1fe732b8b83a758d}} 
\index{DoubleLinkedList$<$ DT $>$@{DoubleLinkedList$<$ DT $>$}!operator=@{operator=}}
\index{operator=@{operator=}!DoubleLinkedList$<$ DT $>$@{DoubleLinkedList$<$ DT $>$}}
\doxysubsubsection{\texorpdfstring{operator=()}{operator=()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename DT $>$ \\
\mbox{\hyperlink{classDoubleLinkedList}{Double\+Linked\+List}}\& \mbox{\hyperlink{classDoubleLinkedList}{Double\+Linked\+List}}$<$ DT $>$\+::operator= (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classDoubleLinkedList}{Double\+Linked\+List}}$<$ DT $>$ \&\&}]{rhs }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



重载=号（赋值），参数是右值\+Double\+Linked\+List，通过调用std\+::swap函数完成; 


\begin{DoxyParams}{Parameters}
{\em rhs} & 传入的\+Double\+Linked\+List右值对象; \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
指针this指向的\+Double\+Linked\+List对象; 
\end{DoxyReturn}
\mbox{\Hypertarget{classDoubleLinkedList_a28c753ec25efce9713e58170bfa9812c}\label{classDoubleLinkedList_a28c753ec25efce9713e58170bfa9812c}} 
\index{DoubleLinkedList$<$ DT $>$@{DoubleLinkedList$<$ DT $>$}!push\_back@{push\_back}}
\index{push\_back@{push\_back}!DoubleLinkedList$<$ DT $>$@{DoubleLinkedList$<$ DT $>$}}
\doxysubsubsection{\texorpdfstring{push\_back()}{push\_back()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename DT $>$ \\
void \mbox{\hyperlink{classDoubleLinkedList}{Double\+Linked\+List}}$<$ DT $>$\+::push\+\_\+back (\begin{DoxyParamCaption}\item[{const DT \&}]{x }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



push\+\_\+back函数，用于在链表结尾插入\+DT类型的数据x; 


\begin{DoxyParams}{Parameters}
{\em x} & 添加的数据x; \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classDoubleLinkedList_ace9f92386dcd6f2308847ec05acfdcc4}\label{classDoubleLinkedList_ace9f92386dcd6f2308847ec05acfdcc4}} 
\index{DoubleLinkedList$<$ DT $>$@{DoubleLinkedList$<$ DT $>$}!push\_back@{push\_back}}
\index{push\_back@{push\_back}!DoubleLinkedList$<$ DT $>$@{DoubleLinkedList$<$ DT $>$}}
\doxysubsubsection{\texorpdfstring{push\_back()}{push\_back()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename DT $>$ \\
void \mbox{\hyperlink{classDoubleLinkedList}{Double\+Linked\+List}}$<$ DT $>$\+::push\+\_\+back (\begin{DoxyParamCaption}\item[{DT \&\&}]{x }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



push\+\_\+back函数的重载，用于在链表结尾插入\+DT类型的右值数据x; 


\begin{DoxyParams}{Parameters}
{\em x} & 添加的右值数据x; \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classDoubleLinkedList_abc9f1f67bf23ed7ffc31361eaa14d0f6}\label{classDoubleLinkedList_abc9f1f67bf23ed7ffc31361eaa14d0f6}} 
\index{DoubleLinkedList$<$ DT $>$@{DoubleLinkedList$<$ DT $>$}!push\_front@{push\_front}}
\index{push\_front@{push\_front}!DoubleLinkedList$<$ DT $>$@{DoubleLinkedList$<$ DT $>$}}
\doxysubsubsection{\texorpdfstring{push\_front()}{push\_front()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename DT $>$ \\
void \mbox{\hyperlink{classDoubleLinkedList}{Double\+Linked\+List}}$<$ DT $>$\+::push\+\_\+front (\begin{DoxyParamCaption}\item[{const DT \&}]{x }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



push\+\_\+front函数，用于在链表开头插入\+DT类型的数据x; 


\begin{DoxyParams}{Parameters}
{\em x} & 添加的数据x; \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classDoubleLinkedList_a9d82e154514bdc6379c83df36c86a63b}\label{classDoubleLinkedList_a9d82e154514bdc6379c83df36c86a63b}} 
\index{DoubleLinkedList$<$ DT $>$@{DoubleLinkedList$<$ DT $>$}!push\_front@{push\_front}}
\index{push\_front@{push\_front}!DoubleLinkedList$<$ DT $>$@{DoubleLinkedList$<$ DT $>$}}
\doxysubsubsection{\texorpdfstring{push\_front()}{push\_front()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename DT $>$ \\
void \mbox{\hyperlink{classDoubleLinkedList}{Double\+Linked\+List}}$<$ DT $>$\+::push\+\_\+front (\begin{DoxyParamCaption}\item[{DT \&\&}]{x }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



push\+\_\+front函数的重载，用于在链表开头插入\+DT类型的右值数据x; 


\begin{DoxyParams}{Parameters}
{\em x} & 添加的右值数据x; \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classDoubleLinkedList_a896b91eefaa6a0288e31a846382d1d39}\label{classDoubleLinkedList_a896b91eefaa6a0288e31a846382d1d39}} 
\index{DoubleLinkedList$<$ DT $>$@{DoubleLinkedList$<$ DT $>$}!size@{size}}
\index{size@{size}!DoubleLinkedList$<$ DT $>$@{DoubleLinkedList$<$ DT $>$}}
\doxysubsubsection{\texorpdfstring{size()}{size()}}
{\footnotesize\ttfamily template$<$typename DT $>$ \\
int \mbox{\hyperlink{classDoubleLinkedList}{Double\+Linked\+List}}$<$ DT $>$\+::size (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



size函数，用于取得链表的长度; 

\begin{DoxyReturn}{Returns}
返回链表长度the\+Size; 
\end{DoxyReturn}


The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
doublelinkedlist.\+h\end{DoxyCompactItemize}
